System and method of contextual pre-tuning

ABSTRACT

A method implemented on a multi-tuner receiver system comprises successively displaying a set of visual cards where each visual card of the set of visual cards comprises a graphical representation. A visual card of the set of visual cards is selected, the visual card being associated with a first television program. Based on a characteristic of the selected visual card, a second television program is identified. The second television program is then tuned.

CROSS-REFERENCE TO RELATED APPLICATION(S)

This application claims priority as a continuation of U.S. patent application Ser. No. 10/328,514, entitled “SYSTEM AND METHOD OF CONTEXTUAL PRE-TUNING,” filed on Dec. 23, 2002 and issuing as U.S. Pat. No. 8,099,680 on Jan. 17, 2012, which patent claims priority as a continuation-in-part of two U.S. Patent Applications: U.S. patent application Ser. No. 10/113,820, entitled “SYSTEM AND METHOD FOR FOCUSED NAVIGATION USING FILTERS,” filed on Mar. 29, 2002 and issued as U.S. Pat. No. 7,055,104 on May 30, 2006; and, U.S. patent application Ser. No. 10/097,174, entitled “System and method for focused navigation within an interactive television user interface,” filed on Mar. 12, 2002 and now abandoned. Each of the preceding patents and applications are hereby incorporated by reference in their entirety.

BACKGROUND OF THE INVENTION

Recent advances in technology have vastly increased the number of available options within personal computers (PCs), interactive television (ITV) systems, personal digital assistants (PDAs), cellular telephones, and other information systems. For instance, current ITV systems offer hundreds of broadcast channels and a variety of interactive options, including e-mail, videoconferencing, instant messaging, online banking, online purchasing, and so forth.

Many current television systems employ multi-tuner receivers that allow such utilities as picture-in-picture viewing and digital video recording. However, the user of such a television system often employs only one of the tuners in order to view a program, thereby leaving one or more additional tuners unused. When the user subsequently changes channels, the user often experiences latency associated with tuning to the new channel, thereby delaying user viewing of the selected programming.

BRIEF DESCRIPTION OF SEVERAL VIEWS OF THE DRAWING

Non-exhaustive embodiments of the invention are described with reference to the figures, in which:

FIG. 1 is a block diagram of an ITV system;

FIG. 2 is a block diagram illustrating a generalized embodiment of selected components of a system for contextual pre-tuning;

FIG. 3 is an illustration of focused navigation of a plurality of cards within a user interface;

FIG. 4 is a block diagram of a sequence of cards being filtered according to tags associated with each card;

FIG. 5 is a block diagram of a set-top box (STB); and

FIG. 6 is a flowchart of a method for focused navigation within a user interface.

DETAILED DESCRIPTION OF THE INVENTION

Reference throughout this specification to “one embodiment” or “an embodiment” means that a particular described feature, structure, or characteristic is included in at least one embodiment of the present invention. Thus, appearances of the phrases “in one embodiment” or “in an embodiment” in various places throughout this specification do not necessarily all refer to the same embodiment.

Furthermore, the described features, structures, or characteristics may be combined in any suitable manner in one or more embodiments. In the following description, numerous specific details are provided, such as examples of programming, software modules, user selections, network transactions, database queries, database structures, etc., to provide a thorough understanding of embodiments of the invention. One skilled in the relevant art will recognize, however, that the invention can be practiced without one or more of the specific details, or with other methods, components, materials, etc. In other instances, well-known structures, materials, or operations are not shown or described in detail in order to avoid obscuring aspects of the invention.

While the following description makes particular reference to television systems, it should be recognized that the present invention may be used in conjunction with any type of information system in which selectable options may be displayed on a display screen. Examples of such information systems include, but are not limited to, ITV systems, personal computers, and mobile computing devices, such as PDAs, webpads, cellular telephones, and the like.

Referring now to FIG. 1, there is shown a block diagram of an ITV system 100 according to an embodiment of the invention. In one configuration, the ITV system 100 includes a television (TV) 102 or other display device having a display screen 104, a client terminal 106, such as a set-top box (STB), and a remote control 108.

The STB 106 serves as a gateway between the TV 102 and a broadband communication network (not shown), such as a cable television network or a direct broadcast satellite (DBS) network. One commercially-available example of an STB 106 is the Motorola DCT5000® interactive set-top terminal.

The STB 106 receives encoded television signals and other data from the broadband network and processes the same for display on the display screen 104. The STB 106 may also include hardware and software for presenting a graphical user interface (GUI) 110 on the display screen 104 for operating the various functions and services of the STB 106. In alternative embodiments, the STB 106 may be integrated into the TV 102 or may be embodied within a personal computer (PC), mobile computing device, or the like.

The remote control 108 is provided for convenient remote operation of the STB 106 and the TV 102. The remote control 108 may include a wireless transmitter 112 for transmitting control signals to a wireless receiver 114 within the STB 106 using radio frequency (RF) or infrared (IR) techniques.

In addition, the remote control 108 may include a number of buttons or other similar controls. For instance, the remote control 108 may include an “Up” button 116, a “Down” button 118, a “Left” button 120, a “Right” button 122, and a “Select” button 124. In an embodiment, the remote control 108 may further include a “Forward” button 126 and a “Backward” button 128. Of course, a variety of other buttons or controls may be provided within the scope of the invention. In alternative implementations, the remote control 108 may be embodied as a keyboard, mouse, or other suitable input device.

An ITV system 100 typically provides access to a plurality of selectable options, such as channels, programs, applications, digital media files, etc. For instance, an ITV system 100 may provide access to literally hundreds of broadcast TV channels, pay-per-view (PPV) channels, music channels, and the like. Additionally, an ITV system 100 may provide access to a number of interactive channels or applications, including web browsers, e-mail programs, chat clients, personal video recorder (PVR) applications, contact directories, and the like. Furthermore, an ITV system 100 may store or provide access to stored PVR recordings, digital photographs, audio (MP3) files, or other forms of digital media.

Referring to FIG. 2, there is shown a block diagram illustrating a generalized embodiment of selected components of a system 400 for contextual pre-tuning in, for example, the ITV system 100. As can be seen in FIG. 1, the system 400 may be implemented by components of the client terminal 106. Alternatively, the system 400 may be implemented by one or more client terminals 106 in a home or office networking environment. Alternatively, the system 400 may be implemented by components of a distribution center, such as a cable headend or the like, in a broadband communication network and serving the ITV system 100.

In one embodiment, the system for contextual pre-tuning comprises a card navigator 600. The nature and navigation of media program indicators, such as cards or selectable elements of electronic program guides, are more thoroughly discussed in commonly-owned U.S. patent application Ser. No. 10/097,174, filed Mar. 12, 2002, for “SYSTEM AND METHOD FOR FOCUSED NAVIGATION WITHIN AN INTERACTIVE TELEVISION USER INTERFACE”, which application is incorporated herein by reference in its entirety. The card navigator, in turn, may comprise a card selector 601 and card displayer 602. The card displayer 602 enables the successive display of cards within the GUI 110. The card selector 601 serves to select a particular card, which may thereby cause one of a plurality of tuners 1412 (discussed below) to tune to a television program associated with the selected card.

In an embodiment, the system for contextual pre-tuning further comprises an allocator 610. The allocator 610 may process data in the form of pre-tuning priorities 620 and user channel selection history 630 that are available via, for example, the ITV system 100 illustrated in FIG. 1. In an embodiment, the pre-tuning priorities 620 are provided by an administrator and/or distributor of the system 100. In an embodiment, the pre-tuning priorities 620 may be provided by a user of the ITV system 100 via, for example, the GUI 110, thereby allowing the user to rank available pre-tuning priorities in order of precedence.

In an embodiment, the allocator 610 may process input in the form of a card selection from the card navigator 600. Based on one or more characteristics of the selected card, the pre-tuning priorities 620 enable the allocator 610 to identify one or more television channels or programs that the allocator 610 is to instruct one or more tuners 1412 to tune. In an embodiment, after processing the instructions received from the pre-tuning priorities 620, the allocator 610 instructs the required number of tuners 1412 to tune to the identified channels/programs.

The priorities 620 may comprise, for example, tuning to one or more channels represented by one or more cards adjacent to the selected card (“adjacent pre-tuning”). As shown in FIG. 3, one or more previous and next cards 200 within a sequence 300 may be displayed along an axis of the GUI 110 to provide the user with a more complete navigational context within the sequence 300. For example, at least a subset of the sequence 300 of cards 200 may be displayed along a vertical axis, with the active, or selectable, card 200 a being displayed in the focus area 302. When a user activates one of the navigation buttons of the remote control 108 (e.g., the “Up” or “Down” buttons 116, 118), the displayed cards 200 in the sequence 300 may appear to shift or cycle downward or upward, respectively, with a new card (e.g., card 200 c or 200 f) entering the focus area 302.

Accordingly, if the top priority is adjacent pre-tuning, an available tuner 1412 will tune to a television program associated with a card 200 adjacent to the selected card 200. For example, if the card 200 a within the focus area 302 is selected, one of the tuners 1412 may tune the program associated with the selected card 200 a. Subsequently, an additional tuner 1412 will pre-tune to a television program associated with a card 200 (e.g., either card 200 c or 200 f) adjacent to the focus area 302 within which the selected card 200 a is positioned. In an embodiment, the choice of which of the two programs is tuned may be governed by the direction along the sequence 300 in which the user was navigating prior to card selection. If a second additional tuner 1412 is available, each television program associated with both adjacent cards 200 may likewise be pre-tuned. Similarly, each third or more additional tuner may pre-tune one or more television programs associated with each card 200 in the sequence 300 in order of, for example, decreasing proximity along the sequence 300 from the selected card 200 a.

The priorities 620 may further comprise tuning to one or more programs or channels that are included within a filtered group in which the channel or program represented by the selected card is likewise included (“filter pre-tuning”). The nature of channel/program filtering is more thoroughly discussed in commonly-owned U.S. patent application Ser. No. 10/260,208, filed Sep. 30, 2002, for “FILTERING BY BROADCAST OR RECORDING QUALITY WITHIN AN ELECTRONIC PROGRAM GUIDE”, which application is incorporated herein by reference in its entirety.

As depicted in FIG. 4, each card 200 may include one or more tags 1200. A tag 1200 may indicate a genre, type, function, or other characteristic of a card 200 or a represented option. A tag 1200 may be embodied as an XML tag, an object attribute, or other suitable indicator known in the art. As exemplified in FIG. 4, a tag 1200 may indicate a genre of a television program represented by a card 200 a (e.g., a sitcom).

One or more filters 1202 may be provided for filtering sequences 300 of cards 200 based on the tags 1200. In one embodiment, a filter 1202 may include criteria, such as one or more search terms (e.g., keywords), search attributes, logical expressions, or the like, that may be compared with the tag(s) 1200 of each card 200 in a sequence 300. If a tag 1200 is compatible with the criteria, the corresponding card 200 may be retained or copied to a new sequence 300; otherwise, the card 200 may be removed or not copied.

As an example, a filter 1202 b may only select cards 200 that have a “sitcom” tag 1200. As a result, a new sequence 300 d may be created that includes cards 200 a and 200 c (e.g., 3^(rd) Rock from the Sun and M*A*S*H). In other embodiments, a new sequence 300 is not created, but the original sequence 300 a is modified by application of the filter 1202.

Accordingly, if the top priority is filter pre-tuning, available tuners 1412 will tune to one or more television programs associated with cards 200 that are included within a filtered sequence in which a card associated with the channel or program represented by the selected card 200 is likewise included. For example, if the card 200 a within the focus area 302 is selected, as illustrated in FIG. 3, one of the tuners 1412 may tune the program (“3^(rd) Rock”) associated with the selected card 200 a. If the selected card 200 a has been associated with a filtered sequence 300 d, an additional tuner 1412 will subsequently pre-tune to a television program associated with a card 200 c (“MASH”) also associated with the filtered sequence 300 d. In an embodiment, the choice of which of multiple programs associated with the filtered sequence 300 d is tuned may be governed by the direction along the sequence 300 in which the user was navigating prior to card selection. As similarly described above, each additional tuner may pre-tune one or more additional television programs associated with each card 200 in a filtered sequence (e.g., 300 d) in order of, for example, decreasing proximity along the sequence 300 from the selected card 200 a.

The priorities 620 may further comprise tuning to one or more channels or programs that the user has previously tuned at the time of day at which the card is selected (“past-selection pre-tuning”). One embodiment of the system 100 will continually monitor and record the user's channel selection history 630, as illustrated in FIG. 2. This historical information may then be used by the allocator 610 to anticipate channels which the user will select. For example, the user may watch The Simpsons at 6:00 each evening on a regular basis. Accordingly, if the top priority is past-selection pre-tuning, selection of a card 200 at 6:00 will prompt the allocator 610 to cause one tuner 1412 to tune to the channel on which The Simpsons is broadcast. Similarly, multiple tuners 1412 may be employed to tune multiple programs that the user has historically viewed at the time of day at which a card 200 is selected.

In an embodiment, pre-tuning in accordance with each of the priorities may be simultaneously employed to the extent a sufficient number of tuners 1412 are available. For example, if the highest priority is adjacent pre-tuning, the second highest priority is filter pre-tuning, and there are three tuners 1412 available, then two tuners 1412 may be employed to pre-tune programs associated with the two cards 200 adjacent to the selected card 200, with the third tuner simultaneously employed to tune a program within the filter group of the selected card 200.

FIG. 5 is a schematic block diagram of an STB 106 according to an embodiment of the invention. The illustrated components may be logical or physical and may be implemented using any suitable combination of hardware, software, and/or firmware.

In one configuration, the STB 106 includes a network interface 1402 for communicating with a broadband network, such as a cable television network or a DBS (Direct Broadcast Satellite) network. The network interface 1402 may conform to the DOCSIS (Data Over Cable Service Interface Specification) or DAVIC (Digital Audio-Visual Council) cable modem standards. Additionally, the network interface 1402 may include standard circuitry for receiving MPEG (Moving Picture Experts Group) streams including multiplexed television programs and data from the broadband network.

One or more sequences 300 of cards 200 may be received by the interface 1402 from a server accessible via the broadband network or the Internet. Additionally, the network interface 1402 may be used to retrieve status indicators 702, such as sports scores, stock tickers, news headlines, and the like, which may be displayed on or near a card 200. Moreover, the network interface 1402 may be configured to receive one or more filters 1202. Such cards 200, indicators 702, and/or filters 1202 may be retrieved via HTTP, ATVEF triggers, or other mechanisms.

The STB 106 further includes a memory 1404, such as a random access memory (RAM) and/or read-only memory (ROM). The memory 1404 may store an operating system (OS) for the STB 106 (e.g., Windows CE® or Linux®), application program code, and various types of data. In one embodiment, the memory 1404 stores one or more sequences 300 of cards 200, as well as the pre-tuning priorities 620 and data pertaining to user channel selection history 630. In other embodiments, the sequences 300, priorities 620 and/or history 630 may be stored within a mass storage device 1406, such as a hard disk drive, optical storage device, or the like.

An input (user action) interface 1408 may be provided for receiving commands from an input device, such as a remote control 108. In one embodiment, the input interface 1408 may include or be associated with the wireless receiver 114 described in connection with FIG. 1. The input interface 1408 may detect user actions for card navigation and selection, such as the user pressing the “Up” or “Down” buttons 116, 118 on the remote control 108.

The STB 106 may further include a display (presentation) interface 1410 for generating a GUI 110 on an attached TV 102 or other display device. In addition, the display interface 1410 may be responsible for successively displaying cards 200 from one or more stored (and possibly filtered) sequences 300 in a focus area 302 of the GUI 110 in response to user action detected by the input interface 1408. Additionally, the display interface 1410 may be used to display television programs tuned by the STB 106.

One or more tuners 1412 may be included for demodulating and demultiplexing selected MPEG streams received by the STB 106 from the broadband network. The tuners 1412 may be used to tune to a particular one television program or several programs in response to a user selection of a card or cards 200, e.g., in response to the user pressing the “Select” button 124 or when the user “lingers” on a card 200 in the focus area 302. As such, a plurality of the tuners 1412 may be used to simultaneously tune a plurality of programs represented by cards 200 selected from, for example, the filtered sequence 300 d.

A CPU 1414 controls the operation of the STB 106, including the other components described above, which may be in electrical communication with the CPU 1414 via a bus 1216. The CPU 1414 may be embodied as a microprocessor, a microcontroller, a digital signal processor (DSP) or other device known in the art. For instance, the CPU 1414 may be embodied as an Intel® x86 processor. The CPU 1414 may perform logical and arithmetic operations based on program code stored within the memory 1404 or the mass storage device 1406. Additionally, the card navigator 600 and allocator 610 may be implemented as software on one or more components of the CPU 1414. Of course, the card navigator 600 and allocator 610 may likewise be implemented on processing components other than the CPU 1414 and known in the art.

Of course, FIG. 5 illustrates only one possible configuration of an STB 106. Those skilled in the art will recognize that various other architectures and components may be provided within the scope of the invention. In addition, various standard components are not illustrated in order to avoid obscuring aspects of the invention.

Referring to FIG. 6, there is shown a flowchart of a method 1600 of contextual pre-tuning in, for example, the ITV system 100. The method 1600 begins by successively displaying 1602 a first set of visual cards 200 within a GUI 110. Each of the cards 200 includes a graphical representation of a programming option, such as a television program or channel. A first visual card 200 of the first set is selected 1604. By selecting 1604 the first visual card, a user may thereby view a television program associated with the first visual card. In order to view this associated television program, the program is tuned 1606 by a tuner 1412.

Based on a characteristic of the selected visual card, a second television program is identified 1608. Such a characteristic may comprise the position of the selected card 200 within a card sequence 300 for purposes of adjacent pre-tuning. Such a characteristic may alternatively comprise the inclusion of the selected card 200 within a filter card sequence (e.g., 300 d) for purposes of filter pre-tuning. Such a characteristic may alternatively comprise the time of day at which the selected card 200 is selected for purposes of past-selection pre-tuning. Once the second television program is identified, the second television program is tuned 1610.

While specific embodiments and applications of the present invention have been illustrated and described, it is to be understood that the invention is not limited to the precise configuration and components disclosed herein. Various modifications, changes, and variations apparent to those skilled in the art may be made in the arrangement, operation, and details of the methods and systems of the present invention disclosed herein without departing from the spirit and scope of the invention. 

The invention claimed is:
 1. A computer-implemented method of contextual tuning, the method comprising: navigating a set of media program indicators; receiving a selection of a first indicator from the set of media program indicators, the first indicator being associated with a first television program; instructing a first tuner to tune to the first television program; selecting one or more additional television programs based on one or more characteristics of the selected indicator or first television program; and instructing one or more additional tuners to tune to the one or more additional television programs.
 2. The computer-implemented method of claim 1, further comprising tuning to the first television program.
 3. The computer-implemented method of claim 1, wherein the one or more characteristics comprises a positioning of the selected indicator within a user interface.
 4. The computer-implemented method of claim 1, wherein the one or more characteristics comprises a time at which the selected indicator is selected.
 5. The computer-implemented method of claim 1, wherein the one or more characteristics comprises a category to which the selected indicator belongs.
 6. The computer-implemented method of claim 1, further comprising tuning to the one or more additional programs.
 7. The computer-implemented method of claim 1, further comprising: displaying a television program associated with the selected first television program; receiving a request for a second television program from among the one or more additional television programs; tuning to the requested second television program; and displaying the requested second television program.
 8. A receiver system, comprising: a graphical user interface generator operable to provide a graphical user interface having successive displays comprising each of set of visual cards, each visual card of the set of visual cards comprising a graphical representation, the graphical user interface being operable to facilitate selection of a visual card from the set of visual cards, the visual card being associated with a first television program; an allocator operable to identify a one or more second television programs based on a characteristic of the selected visual card or first television program; a first tuner tuning to the first television program; and one or more secondary tuners operable to tune to the one or more second television programs.
 9. The system of claim 8, wherein the graphical representation comprises a television program.
 10. The system of claim 8, wherein the graphical representation comprises a promotional picture of the television program.
 11. The system of claim 8, wherein the characteristic used to select the one or more second television programs comprises a positioning associated with the selected visual card within a user interface.
 12. The system of claim 8, wherein the characteristic used to select the one or more second television programs comprises a time at which the selected visual card is selected.
 13. The system of claim 8, wherein the characteristic used to select the one or more second television programs comprises a category to which the selected visual card belongs.
 14. A system for contextual tuning, comprising: a processor operable to display a set of visual cards, each visual card of the set of visual cards comprising a graphical representation, the processor further operable to facilitate selection of a first visual card from the set of visual cards, the visual card being associated with a first television program, and the processor further operable to identify a second television program based on a characteristic of the selected visual card or first television program; a first tuner operable to tune to the first television program responsive to selection of the first visual card; and a second tuner operable to tune to the second television program responsive to identification of the second television program.
 15. The system of claim 14, wherein the graphical representation is of a television program.
 16. The system of claim 14, wherein the characteristic used to identify the second television program comprises a positioning of the selected visual card within a user interface.
 17. The system of claim 14, wherein the characteristic used to identify the second television program comprises a time at which the selected visual card is selected.
 18. The system of claim 14, wherein the characteristic used to identify the second television program comprises a category to which the selected visual card belongs.
 19. The system of claim 14, wherein the set of visual cards comprises a single visual card.
 20. One or more non-transitory computer readable media operable to execute on one or more processors, the computer readable being operable to cause the one or more processors to perform a method implemented on a multi-tuner receiver system, the method comprising: displaying a set of visual cards, each visual card of the set of visual cards comprising a graphical representation; receiving a selection of a first visual card from the set of visual cards, the first visual card being associated with a first television program; identifying a second television program based on a characteristic of the selected visual card or the first television program; and tuning to the second television program. 